home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / commodore-scene-files / Coverdisks / CS / CSCD023B.D64 / dir jckt prt.exe (.txt) < prev    next >
Encoding:
Commodore BASIC  |  2019-04-13  |  1.9 KB  |  60 lines

  1. 10 PRINT"[147]THIS PROGRAM WILL PRINT A DIRECTORY"
  2. 15 PRINT"LISTING THE SIZE OF A DISK JACKET. "
  3. 20 PRINT"THE LABEL STRING PROMPT IS THE DISK     NUMBER."
  4. 25 PRINT"   PRESS RETURN"
  5. 30 GETA$:IFA$<>CHR$(13)THEN30
  6. 100 DIMFX$(256),FT$(256),FL(256),TT(256):N=-1:FORI=1TO256:FX$(I)="":NEXT:X=245
  7. 110 BL$=" ":FORI=1TO40:BL$=BL$+" ":NEXT
  8. 120 CLOSE15:OPEN15,8,15:OPEN1,8,0,"$0":GOSUB480:GET#1,A$,B$
  9. 130 W=51:L$="":INPUT"LABEL STRING";L$
  10. 135 IFLEN(L$)>22THENPRINT"LABEL STRING TOO LONG-MAX IS 22 CHARACTERS.":GOTO130
  11. 140 GET#1,A$,B$:GET#1,A$,B$:C=0:IFA$<>""THENC=ASC(A$)
  12. 150 IFB$<>""THENC=C+ASC(B$)*256
  13. 160 N=N+1:FL(N)=C
  14. 170 GET#1,B$:IFST<>0THEN260
  15. 180 IFB$<>CHR$(34)THEN170
  16. 190 N$=""
  17. 200 GET#1,B$:IFB$<>CHR$(34)THENN$=N$+B$:GOTO200
  18. 210 FX$(N)=N$
  19. 220 GET#1,B$:IFB$=CHR$(32)THEN220
  20. 230 C$=""
  21. 240 C$=C$+B$:GET#1,B$:IFB$<>""  THEN240
  22. 250 FT$(N)=LEFT$(C$,3):IFST=0THEN140
  23. 260 CLOSE1:BF=FL(N):N=N-1:GOSUB580
  24. 270 CLOSE3:OPEN3,4
  25. 280 PRINT#3,CHR$(240);:FORI=1TO51:PRINT#3,CHR$(241);:NEXT:PRINT#3,CHR$(242)
  26. 290 PRINT#3,CHR$(X);SPC(51);CHR$(X)
  27. 300 T2$=FX$(0):IFL$<>""THENT2$=T2$+"  ("+L$+")"
  28. 310 T$=CHR$(X)+"  >>> "+FX$(0)
  29. 315 IFL$=""THENT$=T$+MID$(BL$,1,W-LEN(T$)-1):GOTO330
  30. 320 K=W-2-LEN(T$)-LEN(L$):T$=T$+MID$(BL$,1,K-1)+"("+L$+")"
  31. 330 T$=T$+"  "+CHR$(X):PRINT#3,T$
  32. 340 PRINT#3,CHR$(X);SPC(51);CHR$(X)
  33. 350 PRINT#3,CHR$(244);:FORI=1TO51:PRINT#3,CHR$(241);:NEXT:PRINT#3,CHR$(249)
  34. 360 PRINT#3,CHR$(X);SPC(51);CHR$(X)
  35. 370 L=9:K=INT((N+1)/2):FORI=1TOK
  36. 380 T$=CHR$(X):J=I:GOSUB520:T$=T$+" ":J=K+I:GOSUB520:T$=T$+"  "+CHR$(X)
  37. 390 PRINT#3,T$ : L=L+1 : NEXT
  38. 400 PRINT#3,CHR$(X);SPC(51);CHR$(X)
  39. 410 P=INT((BF*100/664)+.5):P$=MID$(STR$(P),2)
  40. 420 T$=CHR$(X)+MID$(BL$,1,14)+STR$(BF)+" BLOCKS ("+P$+"%) FREE"
  41. 430 T$=T$+MID$(BL$,1,W-LEN(T$)+1)+CHR$(X):PRINT#3,T$
  42. 440 FORI=LTO27:PRINT#3,CHR$(X);SPC(51)CHR$(X)
  43. 450 NEXT
  44. 460 PRINT#3,CHR$(246);:FORI=1TO51:PRINT#3,CHR$(241);:NEXT:PRINT#3,CHR$(247)
  45. 470 PRINT#3:CLOSE3:CLOSE15:END
  46. 480 INPUT#15,ER,ER$:IFER<20THENRETURN
  47. 490 IFER=74ORER=21THENER$=ER$+"--IS DISK INSERTED?":GOTO510
  48. 500 ER$="DISK ERROR"+STR$(ER)+": "+ER$
  49. 510 PRINTER$:END
  50. 520 T=TT(J):IFT=0THENT$=T$+MID$(BL$,1,24):RETURN
  51. 530 IFFL(T)<100THENT$=T$+" "
  52. 540 IFFL(T)<10THENT$=T$+" "
  53. 550 T$=T$+MID$(STR$(FL(T)),2)+" "+FX$(T)
  54. 560 IFLEN(FX$(T))<16THENT$=T$+MID$(BL$,1,16-LEN(FX$(T)))
  55. 570 T$=T$+" "+LEFT$(FT$(T),3):RETURN
  56. 580 FORI=1TON:TT(I)=I:NEXT
  57. 590 FORI=1TON-1:S=I:FORJ=I+1TON:IFFX$(TT(J))<FX$(TT(S))THENS=J
  58. 600 NEXTJ:IFS<>ITHENT=TT(I):TT(I)=TT(S):TT(S)=T
  59. 610 NEXTI:RETURN
  60.